

package qx.hyj.petrescue.exception;


public enum UnknowExceptionEnum implements IExceptionEnum {
    SUCCESS(0, "接口返回成功"),
    // TIP: 增加更多更详细的错误码
    UNKNOW_ERROR(-1, "系统操作异常"),
    ARG_INVALID_ERROR(-2, "参数校验异常"),
    MYBATIS_SYSTEM_ERROR(-3, "数据查询异常"),
    NULL_POINT_ERROR(-4, "空指针异常"),
    MissingServletRequestParameterException(-5, "前端传入参数异常"),
    NULL_Data_ERROR(-5, "系统查询数据为空"),

    // Common related: -1##
    COMMON_SERVICE_ERROR(-1, "服务异常！"),
    COMMON_SORT_NOT_SUPPORTED_ERROR(-101, "不支持排序！"),
    COMMON_PAGE_NOT_SUPPORTED_ERROR(-102, "不支持分页！"),
    COMMON_ONLY_ROOT_ACCESS_ERROR(-117, "只有管理员能进行此项操作！"),
    COMMON_DELETE_DIR_ERROR(-118, "目录下有数据，不能删除！"),
    COMMON_NAME_EXIST(-119, "名称已经存在！"),
    COMMON_NAME_NULL(-120, "名称为空！"),

    // 认证相关 : -2##
    // WARNING: 与统一认证中心共用一部分错误码，请勿轻易修改！
    AUTH_NO_USERNAME_OR_PASSWORD_ERROR(-201, "缺少用户名或密码！"),
    AUTH_USER_NOT_EXIST_ERROR(-202, "用户不存在！"),
    AUTH_USER_OR_PASSWORD_ERROR(-203, "用户名或密码错误！"),
    AUTH_PASSWORD_ERROR(-204, "密码错误！"),
    AUTH_ROLE_NOT_EXIST_ERROR(-205, "角色不存在！"),
    AUTH_USER_ROLE_NOT_BINDING_ERROR(-206, "该用户不具备此角色！"),
    AUTH_USER_GROUP_NOT_BINDING_ERROR(-207, "该用户未绑定工作组！"),
    AUTH_NO_TOKEN_ERROR(-208, "未携带Token！"),
    AUTH_TOKEN_ERROR(-209, "Token非法！"),
    AUTH_TOKEN_EXPIRED_ERROR(-100, "Token已过期！"),// 同10s权限接口返回code保持一致
    AUTH_INVALID_ACCESS_ERROR(-211, "无权限访问该资源或该功能！"),
    AUTH_USER_ALREADY_LOGIN_ERROR(-212, "该用户已在其他设备或系统登录！"),
    AUTH_USER_KICK_OUT_ERROR(-213, "该用户已被踢出！"),
    AUTH_NO_CLIENT_IP_ERROR(-214, "缺少IP标识！"),
    AUTH_NO_SERVICE_ERROR(-215, "缺少服务标识！"),
    AUTH_SERVICE_NOT_EXIST_ERROR(-216, "服务标识不存在！"),
    AUTH_USER_ALREADY_LOGOUT_ERROR(-217, "该用户已登出！"),
    AUTH_INNER_USER_PASSWORD_ERROR(-218, "内置用户密码错误！"),
    AUTH_DB_USER_DATA_BROKEN_ERROR(-219, "数据库用户数据错误，请重启服务端恢复！"),
    AUTH_REQUEST_AUTH_CENTER_ERROR(-280, "访问统一认证中心失败！"),
    AUTH_SYNC_USER_FROM_AUTH_CENTER_ERROR(-281, "从统一认证中心同步用户信息失败！"),
    AUTH_MENU_CONFIG_NOT_EXIST_ERROR(-282, "菜单配置文件不存在！"),

    // File related: -4##
    FTP_UPLOAD_ERROR(-401, "上传文件失败！"),
    FTP_DOWNLOAD_ERROR(-403, "下载文件失败！"),
    FTP_DELETE_ERROR(-405, "删除文件失败！"),
    FTP_LOGIN_ERROR(-406, "Minio服务器连接失败！"),
    FILE_UPLOAD_ERROR(-407, "上传文件失败！"),
    FILE_DOWNLOAD_ERROR(-408, "下载文件失败！"),
    FILE_DELETE_ERROR(-409, "删除文件失败！"),
    WORD_GENERATE_ERROR(-410, "生成word有误！"),
    File_IS_NULL(-411, "文件不存在！"),

    // File related: -5#;
    PG_KXD_ERROR(-501, "起始值不能大于结束值！l"),
    PG_KXD_DXZ_ERROR(-502, "可信度最大最小值参数异常！"),
    PC_MB_NOMX_ERROR(-503, "模板未关联模型！"),
    PC_ZBTXQZ_OVER(-511,"指标体系权重之和不能大于100"),
    PC_ZBQZ_OVER(-510,"同一指标体系下的指标的权重之和不能大于100"),
    PC_SM_SJYLX_UNKNOW(-521, "未知的数据源类型");


    public static final UnknowExceptionEnum[] VALUES = values();

    private final Integer code;
    private final String msg;

    UnknowExceptionEnum(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public Integer getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }
}
